//
// Created by twetec on 25-7-12.
//

#ifndef NETWORK_PROBER_PROBE_PROBER_TASK_HANDLER_H
#define NETWORK_PROBER_PROBE_PROBER_TASK_HANDLER_H

namespace network_prober::probe
{
class ProbeTaskHandler
{
public:
    void start();  // 启动
    static ProbeTaskHandler &getInstance(); // 获取实例

private:
    /**
     * 开始任务下发
     */
    void _startTaskDispatch();

    /**
     * 开始任务处理
     */
    void _startTaskHandle();

    ProbeTaskHandler();  // 构造函数私有化
    ~ProbeTaskHandler(); // 析构函数私有化

    ProbeTaskHandler(const ProbeTaskHandler&) = delete;            // 禁用默认拷贝构造函数（初始化赋值时调用）
    ProbeTaskHandler &operator=(const ProbeTaskHandler&) = delete; // 禁用默认拷贝赋值（初始化后，再赋值时调用）

    ProbeTaskHandler(ProbeTaskHandler&&) = delete;            // 针对右值
    ProbeTaskHandler &operator=(ProbeTaskHandler&&) = delete; // 针对右值

private:

};

}

#endif //NETWORK_PROBER_PROBE_PROBER_TASK_HANDLER_H
